package com.tuozixuan.user.controller;

import java.util.List;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import cn.dev33.satoken.stp.StpUtil;

@RestController
@RequestMapping("/role/")
public class RoleController {

    @GetMapping("getRoleList")
    public List<String> getRoleList() {
    	// 获取：当前账号所拥有的角色集合
        return StpUtil.getRoleList();
    }
    
    @GetMapping("hasRole")
    public boolean hasRole(String role) {
    	// 判断：当前账号是否拥有指定角色, 返回 true 或 false
        return StpUtil.hasRole(role);
    }
    
    @GetMapping("checkRole")
    public void checkRole(String role) {
    	// 校验：当前账号是否含有指定角色标识, 如果验证未通过，则抛出异常: NotRoleException
        StpUtil.checkRole(role);
    }
    
    @GetMapping("checkRoleAnd")
    public void checkRoleAnd(String[] roles) {
    	// 校验：当前账号是否含有指定角色标识 [指定多个，必须全部验证通过]
        StpUtil.checkRoleAnd(roles);
    }
    
    @GetMapping("checkRoleOr")
    public void checkRoleOr(String[] roles) {
    	// 校验：当前账号是否含有指定角色标识 [指定多个，只要其一验证通过即可] 
        StpUtil.checkRoleOr(roles);
    }
}
